package mianshi;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 * @author fly
 * @create 2021--04--20--10:42
 */
//懒汉式   时间换空间，什么时候申请这个对象了，再去创建这个对象
public class Singleton {
    //多线程，会出现不安全的问题
//    private static Singleton singleton=null;
//
//    private Singleton(){
//
//    }
//
//    public static Singleton getInstance(){
//        if(singleton==null){
//            singleton=new Singleton();
//        }
//        return singleton;
//    }

    //双重加锁
 /*   private volatile static Singleton singleton=null;

    private Singleton(){

    }

    public static Singleton getInstance(){
        if(singleton==null){
            synchronized(Singleton.class){
                if(singleton==null){
                    singleton=new Singleton();
                }
            }
        }
        return singleton;
    }
 */






    //饿汉式 线程安全  空间换时间，会在加载类的时候，不管你申请没有都会创建这个单例对象
    private static Singleton singleton=new Singleton();

    private Singleton(){

    }

    public static Singleton getInstance(){
        return singleton;
    }

}
